This background section is provided for the purpose of generally describing the context of the disclosure. Work of the presently named inventor(s), to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Modern multiprocessor systems include multiple processors or processor cores that share a common resource such as a memory subsystem. To share the common resource, accesses to the common resource must be synchronized. Problems that must be solved in such systems include controlling thread interactions, avoiding race conditions, and the like. One conventional solution involves the use of exclusive monitors.
FIG. 1 shows a conventional multiprocessor system 100 that employs exclusive monitors. For clarity only two processors are shown. The multiprocessor system 100 includes two processors 102A and 102B, a memory subsystem 104, a bus 106, and a global monitor 108. The processors 102 communicate with the memory subsystem 104 over the bus 106. Each processor 102A,B includes a respective local monitor 110A,B. The exclusive monitors 108, 110 are high-level tools that provide synchronization for access to the memory subsystem using synchronization primitives such as semaphores and the like over the bus 106.